home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Codigo / Uso de la consola / CsDateInheritance / CsDateInheritance.cs next >
Encoding:
Text File  |  2002-07-15  |  1.4 KB  |  45 lines

  1. //------------------------------------------------
  2. // CsDateInheritance.cs ⌐ 2001 by Charles Petzold
  3. //------------------------------------------------
  4. using System;
  5.  
  6. class CsDateInheritance
  7. {
  8.      public static void Main()
  9.      {
  10.           DatePlus birth = new DatePlus(1953, 2, 2);
  11.           DatePlus today = new DatePlus(2001, 8, 29);
  12.  
  13.           Console.WriteLine("Nacimiento = {0}", birth);
  14.           Console.WriteLine("Hoy = " + today);
  15.           Console.WriteLine("Dφas desde el nacimiento = {0}", today - birth);
  16.      }         
  17. }
  18. class DatePlus: Date
  19. {
  20.      public DatePlus() {}
  21.      public DatePlus(int year, int month, int day): base(year, month, day) {}
  22.  
  23.      public int DaysSince1600
  24.      {
  25.           get
  26.           {
  27.                return 365 * (Year - 1600) + 
  28.                       (Year - 1597) / 4 -
  29.                       (Year - 1601) / 100 +
  30.                       (Year - 1601) / 400 + DayOfYear;
  31.           }
  32.      }
  33.      public override string ToString()
  34.      {
  35.           string[] str = { "Ene", "Feb", "Mar", "Abr", "May", "Jun", 
  36.                            "Jul", "Ago", "Sep", "Oct", "Nov", "Dic" };
  37.  
  38.  
  39.           return String.Format("{0} {1} {2}", Day, str[Month - 1], Year);
  40.      }
  41.      public static int operator -(DatePlus date1, DatePlus date2)
  42.      {
  43.           return date1.DaysSince1600 - date2.DaysSince1600;
  44.      }
  45. }